package com.oop.demo07;

public class Application {
    private static java.lang.Object Object;

    public static void main(String[] args) {
        //一个对象的实际类型是确定的也就是等号右边，但是可以指向的引用类型不确定，父类的引用指向子类
        //Student能调用的方法都是自己的或者继承父类的
        Student student = new Student();
        Person  person= new Student();
        //Person父类型可以指向子类，但是不能调用子类的独有方法
        Object object = new Student();

        //对象可以执行哪些方法，主要看对象左边的类型，和右边的关系不大；
        student.eat();
        student.run();  //子类重写了父类方法
        person.run();
        //s2.eat();//报错

        System.out.println(object instanceof Person);
        System.out.println(object instanceof Student);
        System.out.println(student instanceof Person);




    }
}
